home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part1 / 1869 < prev    next >
Encoding:
Text File  |  1996-08-06  |  1.1 KB  |  55 lines

  1. Path: news1.h1.usa.pipeline.com!usenet
  2. From: grantp@usa.pipeline.com(Pete)
  3. Newsgroups: comp.lang.c++
  4. Subject: Re: [Q]Assigning function pointer in C/C++.
  5. Date: 13 Jan 1996 15:56:12 GMT
  6. Organization: Pipeline USA
  7. Message-ID: <4d8kms$gb0@news1.usa.pipeline.com>
  8. NNTP-Posting-Host: pipe10.h1.usa.pipeline.com
  9. X-PipeUser: grantp
  10. X-PipeHub: usa.pipeline.com
  11. X-PipeGCOS: (Pete)
  12. X-Newsreader: Pipeline USA v3.3.0
  13.  
  14. On Jan 13, 1996 01:45:30 in article <[Q]Assigning function pointer in
  15. C/C++.>, 'bh332@freenet.toronto.on.ca (Karim Ladha)' wrote: 
  16.  
  17. >How is it possible to assign a declared variable in C++ a pointer to 
  18. >some function member? If you know of a solution, post. Greatly
  19. appreciated. 
  20. >In C for example; 
  21. >.... 
  22. >void( far *MyFunc )(); 
  23. >.... 
  24. >.... 
  25.  
  26. class X 
  27.  { 
  28.    public: 
  29.       X(int n) : i(n) {}; 
  30.       int Foo (int); 
  31.       int Bar (int); 
  32.       int Baz (); 
  33.    private: 
  34.       int i; 
  35.  }; 
  36.  
  37. int main () 
  38.  {   
  39.    X x(3); 
  40.    int (X::*func)(int); 
  41.    if (x.Baz() > 2) 
  42.       func = X::Foo; 
  43.    else 
  44.       func = X::Bar; 
  45.    ((&x)->*func)(10); 
  46.    return 0; 
  47.  } 
  48. -- 
  49.  
  50. Pete
  51.